Skip to content

deps: Raise cmake minimum to 3.23.0 - #5394

Merged
lgritz merged 2 commits into
AcademySoftwareFoundation:mainfrom
lgritz:lg-cmakemin
Aug 18, 2026
Merged

deps: Raise cmake minimum to 3.23.0#5394
lgritz merged 2 commits into
AcademySoftwareFoundation:mainfrom
lgritz:lg-cmakemin

Conversation

@lgritz

@lgritz lgritz commented Aug 10, 2026

Copy link
Copy Markdown
Collaborator

This is still 5 years old, but versus the prior 3.18 minimum, it gets us presets, better support for Apple Silicon, CUDA, C++23, among other things.

There's not much simplification this lets us do right away (like, no catering to old cmake that we can get rid of), but it opens the door to future PRs where we can confidently use cmake features that were introduced between 3.19 and 3.22.

@lgritz

lgritz commented Aug 17, 2026

Copy link
Copy Markdown
Collaborator Author

Any objections to raising the upcoming OIIO 3.2's cmake minimum to 3.22?
I will merge this tomorrow if there are no objections.

@jessey-git jessey-git left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think 3.22 is fine. I quickly looked at some other dependencies like Alembic and OpenUSD:

USD 25.05 or greater (May 2025) already requires 3.26.
USD 26.08 or greater (July 2026) requires 3.27.
Alembic 1.8.11 or greater (March 2026) then you need at least 3.29.

So chances are the ecosystem has access to the more recent 3.x versions already.

@lgritz

lgritz commented Aug 17, 2026

Copy link
Copy Markdown
Collaborator Author

Should I go higher?

I didn't have a particularly principled reason for picking that specific release -- I wanted to pull our minimum in by a bit, so I looked at what version was released ~5 years back, and checked the release notes of the next couple newer versions to see if there was anything slightly newer that would be a shame not to have, and didn't see anything compelling. So that's where 3.22 came from, really.

I suppose pretty much everybody in VFX has to build USD, and everybody outside of VFX is probably on a much newer cmake than that. Aiming for a "three years back" compatibility window would be 3.27 (same as USD). MaterialX is 3.26.

@jessey-git

Copy link
Copy Markdown
Contributor

Given the currently known/upcoming needs from CUDA and libktx, 3.22 is sufficient I think. But 3.23 does offer a few more CUDA related items and that release still fits nicely into the 5year mark as of Aug 2026. I don't think many would complain about nudging further to 3.23 but anything beyond that does seems superfluous at the moment.

@jessey-git

Copy link
Copy Markdown
Contributor

errr, I was looking at the wrong date for 3.23 release I think. I still wouldn't complain about moving to that version even if it's slightly less than 5 years though.

@lgritz

lgritz commented Aug 17, 2026

Copy link
Copy Markdown
Collaborator Author

Our hard rule is 3 years. But we try to extend it to at least 5 unless there is a fairly compelling reason to make it shorter, like if something released only 3 or 4 years ago has a feature or behavior that is really critical for us to depend on.

Our 3.2 is primarily "next year's release," so I think we're close enough to call it 5 years if we bump to 3.23.

lgritz added 2 commits August 16, 2026 21:11
This is still 5 years old, but versus the prior 3.18 minimum, it gets
us presets, better support for Apple Silicon, CUDA, C++23, among other
things.

There's not much simplification this lets us do right away, but it
opens the door to future PRs where we can confidently use cmake
features that were introduced between 3.19 and 3.22.

Signed-off-by: Larry Gritz <lg@larrygritz.com>
Signed-off-by: Larry Gritz <lg@larrygritz.com>
@lgritz

lgritz commented Aug 17, 2026

Copy link
Copy Markdown
Collaborator Author

On the Slack, @jfpanisset added:

For VFX Platform 2027 aswf-docker image (which are were I'm likely
to land OIIO 3.2.x) I'm already using CMake 4.3.3 so that's fine.

The bundled CMake version with EL 8.10 is 3.26.5, so the "oldest
distro you're supposed to find in a facility" (no one is still
running CentOS 7, right???) is still good.

On the Ubuntu side, 22.04 LTS has 3.22.1, so that's good as well.

Hmmm. Does the Ubuntu 22.04 cause anybody to want us to stick to 3.22 as our floor? Or does the RHEL that most studios use having 3.26 make anybody want to argue strongly for pushing farther? Or is 3.23 a good balance for now?

@lgritz lgritz changed the title deps: Raise cmake minimum to 3.22.0 deps: Raise cmake minimum to 3.23.0 Aug 18, 2026
@lgritz

lgritz commented Aug 18, 2026

Copy link
Copy Markdown
Collaborator Author

I'm going to stick to 3.23 in order to merge this.

But if anybody thinks this is too aggressive (in particular with respect to Ubuntu 22.04), just say so, and we can switch back to 3.22. There's no rule or good reason to prevent us from decreasing the minimum supported version of even a release branch, assuming we aren't using any new features that make it impossible to do so (which obviously we are not yet).

@lgritz
lgritz merged commit 5d8de46 into AcademySoftwareFoundation:main Aug 18, 2026
64 checks passed
@lgritz
lgritz deleted the lg-cmakemin branch August 18, 2026 04:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants